/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Modelo;


import java.io.Serializable;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import javax.faces.model.SelectItem;

/**
 *
 * @author VICTOR
 */
public class Curso implements Serializable{
    private String idCurso;
    private DetalleCurriculaCiclo objDetCurricula= new DetalleCurriculaCiclo();
    private Escuela objEscuela= new Escuela();
    private String descripcion;
    private String nombre;
    private int estado;
    private int numCreditos;

    public Curso() {
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public int getEstado() {
        return estado;
    }

    public void setEstado(int estado) {
        this.estado = estado;
    }

    public String getIdCurso() {
        return idCurso;
    }

    public void setIdCurso(String idCurso) {
        this.idCurso = idCurso;
    }

   

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public int getNumCreditos() {
        return numCreditos;
    }

    public void setNumCreditos(int numCreditos) {
        this.numCreditos = numCreditos;
    }

    public DetalleCurriculaCiclo getObjDetCurricula() {
        return objDetCurricula;
    }

    public void setObjDetCurricula(DetalleCurriculaCiclo objDetCurricula) {
        this.objDetCurricula = objDetCurricula;
    }

    public Escuela getObjEscuela() {
        return objEscuela;
    }

    public void setObjEscuela(Escuela objEscuela) {
        this.objEscuela = objEscuela;
    }
    
    //--------listar
    public static ArrayList<Curso> getListarCurso(){
     
        int curricula=1, escuela=2;
        ArrayList<Curso> arreglo=null;
        ResultSet rs=null;
        Curso obj=null;
        Connection conexion = null;
        try{
           conexion = ControladorBD.darConexionBD();
           conexion.setAutoCommit(false);
           conexion = ControladorBD.darConexionBD();
            CallableStatement st = conexion.prepareCall( "{CALL sp_curso_lista_plan_estudios(?,?)}");
            st.setInt(1,curricula);
            st.setInt(2,escuela);
            rs = st.executeQuery();
            if (rs.next()){
               arreglo=new ArrayList<Curso>();   
                do{
                        obj =new Curso();  
                        obj.getObjDetCurricula().getObjCiclo().setDescripcion(rs.getString("descripcion"));
                        obj.setIdCurso(rs.getString("idCurso"));
                        obj.setNombre(rs.getString("nombre"));
                        obj.setNumCreditos(rs.getInt("numCreditos"));
                        arreglo.add(obj);
                }while (rs.next());
            }
            st.close();
            conexion.setAutoCommit(true);
            conexion.close();
        }catch(Exception error){
            System.out.println("Error en el metodo por: " + error.getMessage());
            error.printStackTrace();
        }
        return arreglo;

    }
    
    
}
